\chapter{Preparació de l’entorn per al desenvolupament d’escriptori (J2SE)}

El component client per a J2SE s’ha desenvolupat sota la següent plataforma:

\begin{itemize}
  \item GNU/Linux Ubuntu 9.10 per amd64
  \item Sun Java SDK 6 
\end{itemize}

L’entorn pot funcionar fàcilment a altres plataformes com diferents
distribucions de GNU/Linux i Microsoft Windows, així com sota arquitectures de
32 bits, tot i que aquest tutorial només contempla la opció especificada
anteriorment.

\section{SDK de Java}
Per instal·lar el SDK de Java (més conegut com a JDK ó Java Development Kit)
s’ha d’executar la següent comanda a una consola del sistema (com el
gnome-terminal):\\

{\tt sudo apt-get install sun-java6-jdk}\\

Per a altres plataformes (suportades) es pot obtindre el JDK de Sun (ara part de
Oracle) des de la web de Oracle:\\
{\tt http://www.oracle.com/technetwork/java/javase/downloads/index.html}\\

\section{Eclipse}
\subsection{Instal·lació}
S’utilitzà Eclipse com a entorn de desenvolupament. Així el primer pas és
descarregar i instal·lar l’IDE Eclipse. Eclipse es pot descarregar des de:\\

{\tt http://www.eclipse.org/downloads/}\\

Es recomana la versió ``Eclipse IDE for Java Developers'', però qualsevol que
permeti desenvolupar en Java servirà. El número actual de versió d’Eclipse és el
3.6

Un cop descarregat l’arxiu n’hi ha prou amb descomprimir-lo. Durant tot el
tutorial s’emprarà la ruta \emph{/home/entropy/eclipse/} com a ruta on s’ha
descomprimit Eclipse.

\subsection{Configuració}
\subsubsection{Workspace}
A l’iniciar per primer cop Eclipse aquest ens demanarà la ruta del Workspace que
volem utilitzar. El Workspace és la ruta on es desaran tots els projectes
d’Eclipse. Durant tot el tutorial s’emprarà la ruta
\emph{/home/entropy/workspace/} com a ruta del Workspace.

\subsubsection{Registrar JDK}
Un cop l’IDE s’ha iniciat s’ha de registrar la JDK del sistema dins Eclipse. Per
fer-ho s’han de seguir els següents pasos:

\begin{enumerate}
  \item Obrir la finestra de preferències,
situada al menú, a \emph{Window $\rightarrow$ Preferences}
\item Utilitzar l’abre de l’esquerra per anar a la pantalla de Installed JREs
tal i com es mostra a la imatge

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{imatges/annex02/Eclipse-Preferences.png}
	\caption{JRE's instal·lades a Eclipse}
\end{figure}

\item Fer clic a \emph{Add}
\item Seleccionar Standard VM, tal i com es mostra a la imatge

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{imatges/annex02/Eclipse-Preferences-Add-JRE.png}
	\caption{Afegir una JRE a Eclipse}
\end{figure}

\item Especificar JRE home amb la ruta on s’ha instal·lat la JDK. A Ubuntu i la
majoria de distribucions GNU/Linux aquesta ruta és
\emph{/usr/lib/jvm/java-6-sun/.}
Tal i com es mostra a la imatge, el camp del nom s’omple automàticament si la
JDK s’ha detectat correctament.

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{imatges/annex02/Eclipse-Preferences-Add-JRE-2.png}
	\caption{Configuració dels paràmetres de la JRE}
\end{figure}

\item Fer clic a \emph{Finish}
\item A la finestra de Installed JREs, a la llista ara apareixerà la nova JDK
registrada. Marcar el checkbox que apareix abans del nom. Aquest checkbox indica
quina és la VM que s’emprarà per defecte a Eclipse
\item Fer clic a \emph{OK} 
  
\end{enumerate}


\section{AspectJ}
El component client utilitza AOP, en concret depen de la tecnología AspectJ. Per
tal de poder desenvolupar amb aquesta tecnologia és necesari instal·lar un
plugin a Eclipse. El plug-in d’Eclipse que ofereix aquesta funcionalitat és
AJDT.\\

No s'han trobat problemes de compatibilitat en diferents versions d'AspectJ o
AJDT i el desenvolupament dels components client basats en J2SE. Així en
principi qualsevol versió d'Eclipse amb el plug-in corresponent, capaç de
compilar aspectes serà funcional.\\

Hi ha diversos mètodes per instal·lar plug-ins a Eclipse. El més cómode i
recomanable és utilitzar el Update Site. Per tal d’instal·lar el plug-in
mitjançant l’Update Site cal seguir els pasos següents:\\

\begin{enumerate}
  \item Obrir la finestra d’instal·lació de nou software, situada al menú, a
\emph{Help $\rightarrow$ Install New Software}
Apareixerà la finestra mostrada a la imatge

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{imatges/annex02/Eclipse-AJDT-Install.png}
	\caption{Finestra de gestió de plug-ins d'Eclipse}
\end{figure}

\item Fer clic a \emph{Add}
\item Omplir el formulari amb la URL de l’\emph{Update Site}, tal com es mostra a
la imatge. El nom és irrellevant

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{imatges/annex02/Eclipse-AJDT-Install2.png}
	\caption{Configuració d'un nou repositori de plug-ins}
\end{figure}

\item Fer clic a \emph{OK}
\item Apareixerà la següent imatge, fer clic a \emph{Next} 

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{imatges/annex02/Eclipse-AJDT-Install3.png}
	\caption{Selecció de plug-ins a instal·lar}
\end{figure}

\item Apareixerà la següent imatge, fer clic a \emph{Next}

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{imatges/annex02/Eclipse-AJDT-Install4.png}
	\caption{Detalls de la instal·lació}
\end{figure}

\item Apareixerà la següent imatge, acceptar els termes de llicència i fer clic
a \emph{Finish}

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{imatges/annex02/Eclipse-AJDT-Install5.png}
	\caption{Acceptació de les llicències dels plug-ins a instal·lar}
\end{figure}

\item Un cop Eclipse ha descarregat els arxius necesaris surtirà el següent
avís, fer clic a \emph{OK}

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{imatges/annex02/Eclipse-AJDT-Install6.png}
	\caption{Avís d'Eclipse}
\end{figure}

\item Un cop tot s’ha instal·lat correctarment apareixerà el següent missatge,
informant que tot ha anat be i és necesari reiniciar Eclipse per a que el
software instal·lat funcioni correctament. Fer clic a \emph{Restart Now}

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{imatges/annex02/Eclipse-AJDT-Install7.png}
	\caption{Missatge d'Eclipse un cop instal·lats nous plug-ins}
\end{figure}
 
\end{enumerate}

\section{Comprovar que l’entorn funciona}
Per comprovar que l’entorn ha estat instal·lat i configurat correctament es
proposa crear un projecte a l’estil ``hello world'':\\

\subsection{Creació del projecte}
\begin{enumerate}
  \item Al menú, anar a File $\rightarrow$ New $\rightarrow$ rightarrow
  Project...
  \item A la finestra que s’ha obert seleccionar AspectJ Project (està dins la
  categoría AspectJ) i fer clic a Next
  \item Inserir un nom pel projecte, com per exemple ``Hello Aspect World''
  \item Fer clic a Finish (ja que les opcions per defecte ens estan be)
\end{enumerate}

\section{Creació de la clase inicial}
\begin{enumerate}
  \item Al menú, anar a File $\rightarrow$ New $\rightarrow$ Class
  \item Inserir ``HelloWorldClass'' com a nom de la clase i marcar l’opció d’autogenerar
un mètode d’inici (public static void main), tal i com es mostra a la figura
següent

\begin{figure}[H]
	\centering
	\includegraphics[width=0.5\textwidth]{imatges/annex02/helloworld.png}
	\caption{Assistent per crear una nova classe}
\end{figure}

\item Fer clic a Finish
\item Al codi de la classe que acabem de crear, afegir la següent línia de codi
dins el mètode main
System.out.println("Hello World");
\item Desar els canvis a la clase (mitjançant la combinació de tecles control+s,
per exemple)
\end{enumerate}

\section{Creació de l’aspecte}
\begin{enumerate}
  \item Al menú, anar a File $\rightarrow$ New $\rightarrow$ Other...
  \item A la finestra que s’ha obert seleccionar Aspect (està dins la categoría
  AspectJ) i fer clic a Next
  \item Inserir ``HelloWorldAspect'' com a nom de l’aspecte
  \item Fer clic a Finish
  \item Afegir el següent codi dins l’aspecte:
\begin{lstlisting}
public pointcut mainPointcut() : execution(* main(*));
	before(): mainPointcut(){
		System.out.println("Hello Aspect World");
	}
\end{lstlisting}

  \item Desar els canvis a l’aspecte (mitjançant la combinació de tecles
  control + S, per exemple)
\end{enumerate}
	
\section{Execució de l’exemple}
\begin{enumerate}
  \item Seleccionar el projecte a la vista Package Explorer d’Eclipse
  \item Al menú, anar a Run $\rightarrow$ Run As... $\rightarrow$ AspectJ / Java Application
  \item A la finestra que s’ha obert, seleccionar HelloWorldClass
  \item Si tot ha anat be el programa s’executarà i imprimirà a la consola
  d’Eclipse el següent missatge:\\
  {\tt Hello Aspect World
Hello World
  }
\end{enumerate}

Si no apareix la línia “Hello Aspect World” AspectJ no s’ha instal·lat / configurat correctament o s’han seguit incorrectament els pasos per crear el programa d’exemple